//
//  ReadMe.h
//  Weibo24
//
//  Created by apple on 17/3/27.
//  Copyright © 2017年 itheima. All rights reserved.
//

//   -------------------第四天-------------------
//  OAuth登录
//  O -> open 开放
//  Auth -> 授权
//  总结: 开放的授权协议
/*
    OAuth就要用在第三方登录, 在用户授权的情况下,才能访问第三方(qq, 微博, 微信)的资源数据, 第三方的app是无法获取的用户名和密码, 是比较安全的,获取的第三方数据不包含隐私数据的(比如: 昵称, 头像..)
 
 
    OAuth: 流程
 
    1. 加载第三方(qq, 微博, 微信)的登录页面
    2. 登录成功以后在用户授权的情况下才能获取授权码(qq, 微博, 微信)
    3. 通过授权码向第三方资源平台获取访问令牌(AccessToken), 表示第三方资源平台的合法的用户
    4. 通过令牌就可以访问第三方的资源数据了
 
 */

//  获取新浪微博开放平的数据
//  1. 在新浪微博开放平台创建应用
//  2. 设置授权回调页(获取授权码), 设置取消授权回调页
//  3. 如果想在开发阶段让其他用户可以登录你的app,需要关联其账号,但是只能关联15个


//  ----------------第七天 ------------------------

//  1. 正常来说服务端应该会把单张图片的一个大小返回给客户端,那么端根据判断设置单张图片的大小
//  2. 单张图片的实现的流程
/*
    1. 判断原创微博和转发微博是否有单张图片
    2. 如果有单张图片下载到本地(在子线程去下载单张图片)
    3. 需要等到所有的单张图片都下载完成以后,再去加载微博数据.(需要使用调度组)
    4. 在给配图设置数据时候如果是单张图片,那么配图的大小需要在本地下载的图片进行获取图片的大小,然后更新配图的大小等于本地图片的大小
 
 */


//  --------------------第八天------------------------
/*
 时间格式化的逻辑
    1. 判断是否是今年
        是否是今天
            是否是1分钟之前
                "刚刚"
            是否是1小时之前
                "xx分钟前"
            其它
                "xx小时前"
        是否昨天
            "昨天 10:11"
        其它
            "03-20 20:20"
 
      不是今年
            "2016-10-10 10:20"
 */

// ------------------第十天----------------------
/*
    1. 表情键盘的数据结构
       1.1 - 一页上显示20个表情按钮对应的数据类型 -> [表情模型]
       1.2 - 每种表情有多页显示对应的数据类型    -> [[表情模型],[表情模型],[表情模型]] 表示一种标签的数据结构
       1.3 - 表情视图有多组标签显示对应数据类型  -> [[[表情模型],[表情模型],[表情模型]],  [[表情模型],[表情模型],[表情模型]]] 最终就是一个三维数组
 
 */


//  ---------------第十二天-----------------------

/*
    YYText的集成步骤
 
        1. 把UILabel改成YYLabel
            - 遇到没有换行的问题: label.preferredMaxLayoutWidth = ScreenWidth - 2 * HomeCellMargin
            - 表情没有显示出来: 使用YYText提供的富文本显示表情  NSAttributedString.yy_attachmentString(withEmojiImage: image, fontSize: 13)!
 
 */

/*
    缓存首页数据建表的分析
    1. statusid -> 微博id 作为主键 (用于查询)   123
    2. userid   -> 用户id 作为主键   2
    两个主键表示复合主键
    3. status  -> 微博数据 -> 把字典转成二进制存入
    4. time    -> 缓存时间 -> 清理缓存数据
 
 
 
 
 */


